home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs47.d81
/
byond512.seq
< prev
next >
Wrap
Text File
|
2009-10-10
|
22KB
|
661 lines
╘HE MATERIAL CONTAINED IN THIS DOCUMENT IS OF AN EXPERIMENTAL NATURE. ┴S
SUCH, ALL CONSEQUENCES RESULTING FROM THE USE OF THE INFORMATION IS THE
EXPRESS RESPONSIBILITY OF THE USER. ╘HE AUTHOR SHALL NOT BE HELD LIABLE, AND
IMPLIES NO WARRANTIES OR GUARANTEES WHAT SO EVER. ╘HE AUTHOR DOES CERTIFY THAT
THE INFORMATION PRESENTED WAS CORRECT, TO HIS KNOWLEDGE, AT THE TIME OF THE
FIRST DISTRIBUTION OF THE DOCUMENT.
╘HIS DOCUMENT AND THE INFORMATION IT CONTAINS IS THE SOLE PROPERTY OF THE
AUTHOR, WHO RETAINS ALL COPYRIGHTS, AND PATENTS TO THE MATERIAL PRESENTED.
╘HE AUTHOR DOES GRANT A LIMITED DISTRIBUTION RIGHT TO ALL IF THE FOLLOWING
CONDITIONS ARE SATISFIED: ╘HE DOCUMENT IS DISTRIBUTED IN COMPLETE AND
UNALTERED FORM, WITH THIS LEGAL FORM INCLUDED. ╬O COMMERCIAL DISTRIBUTION (IE.
PUBLISHING) OF THE DOCUMENT IS ENTERED INTO WITHOUT THE WRITTEN CONSENT OF THE
AUTHOR. ╠ASTLY, NO MONIES SHALL BE EXCHANGED FOR THE DISTRIBUTION OF THE
DOCUMENT, EXCEPT FOR REPRODUCTION AND SHIPPING CHARGES, WITHOUT THE WRITTEN
PERMISSION OF THE AUTHOR. ╫ITH THESE CONDITIONS FULFILLED, THE LIMITED
DISTRIBUTION LICENSE GRANTS THE HOLDER OF THE DOCUMENT TO OTHERWISE FREELY
DISTRIBUTE, AND STORE IT IN ANY MANNER.
┬EYOND 512 KB: ╘HE ╘WO ═EGABYTE ╥┼╒
-----------------------------------
┬Y ┴NDREW ┼. ═ILESKI
├OPYRIGHT ╧CTOBER 3, 1989.
╔N ╓OLUME 9, ╔SSUE 6 OF THE ╘RANSACTOR, ╨AUL ┬OSACKI SHOWED US A MIRACLE;
THE ONE MEGABYTE ├64. ╨AUL HAD DEVELOPED AN ELEGANT METHOD OF ALLOWING THE ├64
TO ACCESS THIS EXTRA MEMORY OUT OF THE ├64'S OWN MEMORY MAP. ╒NFORTUNATELY,
THIS EXTRA ╥┴═ IS RATHER DIFFICULT TO ACCESS, NOT ALL OF IT IS AVAILABLE TO
THE USER, AND ├128 OWNERS CANNOT EXPAND THERE MACHINES IN THE SAME MANNER. ╘HE
CIRCUIT NECESSARY FOR THIS FEAT ALLOWS A ├64 TO USE 256 K ╥┴═ CHIPS, INSTEAD
OF THE 64 K ╥┴═ CHIPS IT WAS DESIGNED TO USE. ┴LTHOUGH A BRILLIANTLY SIMPLE
CIRCUIT, IT IS OVER-KILL WHEN ONE ALREADY HAS A ╥AM ┼XPANSION ╒NIT (╥┼╒) THAT
DIRECTLY SUPPORTS 256 K ╥┴═ CHIPS!
┼XPANDING A ╥┼╒ IS RELATIVELY SIMPLE, AND IF YOU ALREADY KNOW HOW TO
PROGRAM A ╥┼╒ YOU CAN EASILY TAKE ADVANTAGE OF AN EXPANDED ONE. ╔N FACT, ALL
YOUR SOFTWARE THAT USES A ╥┼╒ IS COMPLETELY COMPATIBLE! ╬OW ARE FELLOW ├128
OWNERS CAN EXPAND THEIR MACHINES EASILY TOO, SINCE THE EXTRA ╥┴═ IS ACCESSED
OUT OF A ╥┼╒, AND NOT OFF A MODIFIED MOTHER-BOARD!
╔N A 512 KB ╥┼╒, THERE ARE TWO DYNAMIC ╥┴═ CHIP BANKS ON THE CIRCUIT
BOARD. ╘HEY EACH CONSIST OF EIGHT, 1 BIT BY 256 K DYNAMIC ╥┴═ CHIPS, WHICH
GIVES US OUR 512 K BYTES. ╘HE ╥┼╒'S INTERNAL BANK REGISTER AT $─╞06 WORKS IN
64 KB INCREMENTS, AND HAS ONLY EIGHT OF THESE ╥┼╒ BANKS. ┬ANKS 0 TO 3 ARE
ACCESSED OUT OF CHIP BANK ONE (╒2 TO ╒9), AND BANKS 4 TO 7 ARE ACCESSED OUT OF
CHIP BANK TWO (╒10 TO ╒17). ╨LEASE NOTE THE DISTINCTION BETWEEN CHIP BANKS,
AND ╥┼╒ BANKS.
╬OTE: SIGNALS PRECEEDED BY AN ASTERISK INDICATE THAT THEY ARE ACTIVE LOW
─YNAMIC ╥┴═ ┬ASICS
------------------
─YNAMIC ╥┴═ MEMORY CHIPS ARE CONSTRUCTED WITH MULTIPLEXED ADDRESS INPUTS.
╘HIS MEANS THAT THEY CARRY DIFFERENT INFORMATION AT DIFFERENT TIMES. ╘O ACCESS
A PARTICULAR MEMORY CELL, WE FIRST SUPPLY THE CHIP WITH HALF OF THE ACTUAL
ADDRESS, A ROW ADDRESS. ╬EXT WE LATCH THIS ADDRESS INTO THE CHIP BY ASSERTING
THE ╥OW ┴DDRESS ╙TROBE (*╥┴╙). ╬OW WE SUPPLY THE CHIP WITH THE OTHER HALF OF
THE ADDRESS, THE COLUMN ADDRESS. ╧NCE AGAIN WE LATCH THIS ADDRESS INTO THE
CHIP BY ASSERTING THE ├OLUMN ┴DDRESS ╙TROBE (*├┴╙). ─EPENDING ON THE STATE OF
THE ╫RITE ┼NABLE (*╫┼) SIGNAL, A READ OR WRITE MEMORY CYCLE WILL OCCUR.
╒NFORTUNATELY DYNAMIC ╥┴═S FORGET EVERYTHING UNLESS THEY ARE REMINDED, OR
REFRESHED. ╘HIS MUST BE DONE ABOUT EVERY 4 MILLISECONDS! ╘O REFRESH THE MEMORY
A ╥┴╙ ONLY CYCLE MUST BE DONE FOR EVERY ROW ADDRESS. ╘HIS MEANS THAT ONLY THE
ROW ADDRESS IS LATCHED INTO THE CHIP; THE COLUMN ADDRESS IS NOT NEEDED HERE.
╘HE ENTIRE ROW OF DATA STORED IN THE CHIP WILL BE REFRESHED, AND OUR DATA WILL
BE SAFE FOR ANOTHER FEW MILLISECONDS. ╔N A ╥┼╒ THE ╥┴═ ┼XPANSION ├ONTROLLER
(╥┼├) CHIP TAKES CARE OF ALL THIS FOR US.
╞OOLING THE ╥┼├
---------------
╙INCE A ╥┼╒ WAS ONLY DESIGNED TO ACCESS 512 KB OF EXPANSION MEMORY, WE
MUST FOOL IT IN ORDER TO ACCESS MORE. ╫E DO THIS BY LETTING THE ╥┼╒ THINK THAT
IT HAS ONLY 512 KB AVAILABLE AT ANY ONE TIME. ╘HIS MEANS WE NEED SOME WAY TO
SWITCH BETWEEN THE EXTRA BANKS OF MEMORY. ╘HE CIRCUIT SHOWN IN THE SCHEMATIC
HELPS US TO DO THIS BY ADDING TWO BITS TO THE ╥┼╒ BANK SELECT REGISTER. ╘HIS
TWO BIT OUTPUT PORT LETS US SELECT ONE OF FOUR BANKS OF 512 KB. ╙O IN OTHER
WORDS, ARE ╥┼╒ NOW THINKS IT IS FOUR SEPERATE 512 KB ╥┼╒S. ╬OW WE CAN EASILY
ACCESS UP TO 2 ═B OUT OF A ╥┼╒!
╚OW THE CIRCUIT WORKS
---------------------
╘HE SECRET TO EXPANDING DYNAMIC MEMORY LIES IN THE *├┴╙ SIGNAL. ╙INCE ALL
THE ╥┴═ CHIPS NEED TO BE REFRESHED WITH *╥┴╙, WE DON'T DO ANYTHING TO THIS
SIGNAL AND PASS IT TO ALL MEMORY CHIPS. ╘HIS LEAVES US WITH MANIPULATING *├┴╙.
═ANIPULATION OF *├┴╙ IS THE JOB OF ╔├1, A DUAL TWO TO FOUR LINE
DECODER/DEMULTIPLEXOR. ╔T IS USED TO DIRECT THE ╥┼├ SIGNALS *├┴╙0 (CHIP BANK
ONE), AND *├┴╙1 (CHIP BANK TWO), TO THE CORRECT BANK OF EIGHT ╥┴═ CHIPS. ╫HEN
ONE OF THE ╥┼├ ├┴╙ SIGNALS IS ASSERTED, THE ├┴╙ SIGNAL OF THE SELECTED BANK IS
ASSERTED. ╘HE BANK SELECTION IS DONE WITH THE TWO SELECT INPUTS ╙0 AND ╙1 OF
╔├1.
╔├2 AND ╔├3 FORM A TWO BIT WRITE-ONLY REGISTER, WHOSE OUTPUTS ARE THE BANK
SELECT INPUTS TO ╔├1. ┬ITS 3 AND 4 OF THE ╥┼╒ BANK REGISTER AT $─╞06 ARE
LATCHED INTO ╔├2, TWO ─ TYPE FLIP-FLOPS, ON THE NEGATIVE EDGE OF THE SYSTEM
CLOCK (THETA2). ┬Y MAPPING OUR NEW TWO BIT REGISTER TO THESE NORMALLY UNUSED
BITS, THE EXTRA MEMORY APPEARS TO THE USER AS EXTRA 64K BANKS BEYOND THE
NORMAL MAXIMUM OF 512 KB. ╔├3 IS A 3 TO 8 LINE DECODER/DEMULTIPLEXOR, WHICH IS
USED TO DECODE THE LOWEST THREE BITS OF THE ╔/╧2 PAGE ($─╞00 TO $─╞╞╞)
ADDRESS. ╘HE ╔├3 SIGNAL *╧6 IS USED AS THE CLOCK SIGNAL FOR THE TWO
FLIP-FLOPS, WHICH LATCHES BITS 3 AND 4 OF THE DATA BUS ON THE POSITIVE EDGE.
╘HIS HAPPENS WHENEVER $─╞06 IS WRITTEN TO. ╧N A READ MEMORY CYCLE TO $─╞06,
╔├3 IS DISABLED AND THE ╥┼╒'S REGULAR INTERNAL REGISTER APPEARS ON THE DATA
BUS.
┴ SWITCH PULLS THE *├╠╥ INPUTS TO EACH OF THE FLIP-FLOPS LOW WHEN IT IS
CLOSED (POSITION 1). ╘HIS FORCES THEM TO SELECT BANK ZERO OF 512 KB AT ALL
TIMES, WHICH IS PRESENT IN ALL 512KB ╥┼╒S. ╫HEN THE SWITCH IS OPEN (POSITION
2), THE FLIP-FLOPS CAN FREELY TAKE ON THE VALUES OF BITS 3 AND 4 OF $─╞06.
╘HIS ALLOWS COMPLETE SOFTWARE COMPATIBILITY WITH A 1750 (512 KB) ╥┼╒.
╠ASTLY, THE TWO ╠IGHT ┼MITTING ─IODES (╠┼─S), WHICH ARE OPTIONAL, SIMPLY
SHOW US (IN BINARY) WHAT BANK OF 512K WE ARE USING. ╘HEY ALLOW US TO QUICKLY
CHECK SOFTWARE COMPATIBILITY, AS EXPLAINED LATER.
╔NSTALLATION
------------
┴LL THE EXPANSION HARDWARE FITS INSIDE THE ╥┼╒ CASE. ┘OU WILL NOT BE ABLE
TO USE THE ╥╞ SHIELD, AND IT WILL BE A VERY TIGHT FIT WITH ALL 2 ═B INSTALLED
(DON'T USE ╔├ SOCKETS!). ╙TART BY EXPANDING YOUR ╥┼╒ TO 512 KB, OR IN OTHER
WORDS YOU NEED A 1750 ╥┼╒. ╙EE ╓OLUME 9, ╔SSUE 5 OF THE ╘RANSACTOR, OR THE
ARTICLE BY ╙COTT┬30 ON ╤UANTUM ╠INK FOR EXPANDING 1764 AND 1700 ╥┼╒S. ╘AKE THE
USUAL STATIC PRECAUTIONS, AND OF COURSE, ANY MODIFICATION TO THE ╥┼╒ WILL VOID
THE WARRANTY! ╨ROCEED AT YOUR SOLE RISK!
╧N THE COMPONENT SIDE OF THE ╥┼╒, WITH THE EDGE CONNECTOR TOWARDS YOU,
LOCATE ╥ESISTOR ╨ACKAGE ╥╨3 ON THE LEFT SIDE NEAR THE MIDDLE OF THE BOARD.
╞LIP THE BOARD OVER TO THE SOLDER SIDE, AGAIN WITH THE EDGE CONNECTOR TOWARDS
YOU. ╠OCATE ╥╨3 AGAIN ON THE RIGHT SIDE OF THE BOARD. ╞ROM THE TOP OF THE
BOARD, FIND PIN 7 OF ╥╨3 AND CUT THE TRACE LEADING AWAY FROM THE PIN. ╙OLDER A
WIRE TO THIS PIN (PIN 7); THIS IS THE *├┴╙0 SIGNAL. ╞IND PIN 3 OF ╥╨3 AND
AGAIN CUT THE TRACE LEADING AWAY FROM THE PIN. ╙OLDER A WIRE TO THIS PIN (PIN
3); THIS IS THE *├┴╙1 SIGNAL.
╞LIP THE BOARD OVER TO THE COMPONENT SIDE WITH THE EDGE CONNECTOR TOWARDS
YOU, AND LOCATE RAM CHIPS ╒2 AND ╒10 ON THE TOP LEFT SIDE OF THE BOARD. ╞LIP
THE BOARD OVER TO THE SOLDER SIDE AND AGAIN LOCATE THESE CHIPS. ╘O PIN 15 OF
╒2 SOLDER A WIRE; THIS IS THE *├┴╙┬┴╬╦0 SIGNAL. ╙OLDER A WIRE TO PIN 15 OF
╒10; THIS IS THE *├┴╙┬┴╬╦1 SIGNAL. ╥UN THE FOUR WIRES YOU NOW HAVE, DOWN TO
THE RIGHT SIDE OF THE EDGE CONNECTOR AND SECURE THEM IN THE CORNER WITH A
PIECE OF ELECTRICAL TAPE. ╘HIS COMPLETES ALL THE SOLDER CONNECTIONS TO THE
SOLDER SIDE OF THE BOARD.
╠OCATE THE FIFTH PIN FROM THE RIGHT ON THE EDGE CONNECTOR AND FOLLOW THE
TRACE TO A COMPONENT LEG; NOTE THE PLACEMENT. ╞LIP THE BOARD TO THE COMPONENT
SIDE FOR THE LAST TIME, AND LOCATE THE COMPONENT. ╔T IS LABELED ╞┬2, AND
SHOULD BE A ╞ERRITE ┬UTTON, BUT IS A 430 ╧HM RESISTOR (YELLOW, ORANGE, BROWN,
GOLD BANDS) ON MY ╥┼╒. ╘O THE OPPOSITE END OF THE COMPONENT, AWAY FROM THE
EDGE CONNECTOR, SOLDER A WIRE; THIS IS THE SYSTEM CLOCK SIGNAL THETA2.
╠OCATE THE THIRTEENTH PIN FROM THE RIGHT ON THE EDGE CONNECTOR. ╞OLLOW THE
TRACE TO A PASS-THROUGH, AND SOLDER A WIRE INTO IT; THIS IS THE *╔/╧2 SIGNAL.
╠OCATE THE EIGHTEENTH PIN FROM THE RIGHT OF THE EDGE CONNECTOR, AND FOLLOW
THE TRACE TO ╞ERRITE ┬UTTON ╞┬1. ╘O THE SIDE AWAY FROM THE EDGE CONNECTOR
SOLDER A WIRE; THIS IS THE ╥/*╫ SIGNAL.
╠OCATE THE EMPTY PINOUT (╒18) NEXT TO THE SQUARE ╥┼├ CHIP. ╙OLDER WIRES
INTO THE HOLES FOR PINS 8, 9, 10, 14, 15, 16, AND 28. ╘HESE ARE THE SIGNALS
┴2, ┴1, ┴0, ╟ROUND, ─3, ─4, AND +5 VOLTS RESPECTIVELY. ╘HIS COMPLETES THE
SIGNAL HUNTING.
╠AY A 2 INCH STRIP OF DOUBLE-SIDED FOAM TAPE DOWN THE CENTER OF THE MISSING ╔├
(╒18) PATTERN. ╘RY TO LEAVE ROOM NEAR THE RIGHT EDGE OF THE CASE SO YOU CAN
MOUNT A SWITCH. ═OUNT THE ╔├S, IN ORDER FROM LEFT TO RIGHT, TO THE TAPE ╒╨╙╔─┼
─╧╫╬ (PINS STICKING UP) WITH THE NOTCHES (OR DOTS) TOWARDS THE TOP OF THE
BOARD. ╨LACE THEM AS FAR APART AS YOU CAN ON THE TAPE.
╬OW CONNECT THE ╔├S USING (CAREFULLY!) POINT TO POINT SOLDERING, OR
WIRE-WRAP ─╔╥┼├╘╠┘ ON THE ╔├ PINS (YES, IT CAN BE DONE). ╔F YOU DO WIRE-WRAP,
ONLY 4 WRAPS PER CONNECTION ARE NECESSARY, AND "OVER WRAPPING" (WRAPPING ON
TOP OF WRAPPING) IS RECOMMENDED FOR THE SECOND CONNECTION TO A PIN. ╦EEP THE
CONNECTIONS AS SHORT AS POSSIBLE EG. +5 VOLTS TO PIN 14 OF ╔├1 IN MINE IS 1/4
OF AN INCH LONG.
═OUNT THE SWITCH IN THE TOP HALF AND ON THE EDGE OF THE ╥┼╒'S CASE IN A
CONVENIENT PLACE. ╔ RECOMMEND PLACING IT NEAR THE BOTTOM RIGHT CORNER, NEAR
THE PLASTIC POST SINCE THERE IS NOTHING IN THE WAY HERE. ┴ SLIDE SWITCH IS
NEATER THAN A TOGGLE SWITCH, BUT IT ISN'T VERY MUCH FUN TRYING TO MAKE A
SQUARE HOLE FOR A THE SLIDE SWITCH! ═ARK (OR JUST NOTE) THE POSITION OF THE
SWITCH ON THE CASE (OPEN: 2 ═B, CLOSED: 512 KB) WITH A MARKER (╙ANFORD
"╙HARPIE" WRITES PERMANENTLY ON ANYTHING!) OR USE "╠ETTRA ╙ET" TYPE LETTERING.
╘HE NEXT STEP, AND LAST STEP, IS TO WIRE AND MOUNT THE TWO OPTIONAL ╠┼─
INDICATORS. ╙OLDER WIRES TO ALL THE LEADS OF BOTH THE ╠┼─S. ─RILL HOLES FOR
THEM AT THE TOP EDGE, OF THE TOP HALF OF THE CASE, SO THEY'RE VISABLE WITH THE
╥┼╒ INSTALLED. ═AKE SURE TO PUT ╠┼─1 ON THE LEFT AND ╠┼─0 ON THE RIGHT, SO YOU
CAN READ THE BANK OF 512 KB IN BINARY (0=UN-LIGHTED, 1=LIGHTED).
┘OUR ╥┼╒ NOW WORKS THE SAME AS BEFORE, AT LEAST IT SHOULD! ╨LUG IT IN,
MOVE THE SWITCH TO POSITION 1 (SWITCH CLOSED, THE OPTIONAL ╠┼─S SHOULD BOTH
BE UN-LIGHTED) AND GIVE THE ╥┼╒ A SPIN WITH ANY TEST PROGRAM OF YOUR CHOICE.
╔F THINGS LOOK BAD, POWER DOWN AND RECHECK ALL CONNECTIONS! ╔F IT DOES WORK,
CONGRATULATIONS! ┘OU NOW HAVE AN ╥┼╒ THAT CAN BE EXPANDED TO 2 ═B BY ADDING A
MEAGER (48) ╥┴═ CHIPS.
┴DDING MEMORY
-------------
┼XPAND THE MEMORY BY PIGGY-BACKING THE EXISTING ╥┴═ CHIPS IN CHIP BANKS
ONE OR TWO, STARTING WITH CHIP BANK 1. ┬END PIN 15 UP, TO A 45 DEGREE ANGLE,
ON EACH OF THE ╥┴═ CHIPS TO BE ADDED. ├ONNECT A WIRE TO THIS PIN BEFORE
SOLDERING IT TO THE OTHER ╥┴═ CHIP. ╧NCE THE CHIP IS SOLDERED IN PLACE,
CONNECT THE WIRE TO PIN 15 OF THE NEXT ╥┴═ CHIP TO BE ADDED. ╙OLDER ANOTHER
WIRE TO ITS PIN 15, AND SOLDER THE CHIP IN PLACE NEXT TO THE OTHER. ├ONTINUE
IN THIS WAY UNTIL ALL THE ╥┴═S IN A CHIP BANK ARE PIGGY-BACKED, AND ALL PINS
15 ARE CONNECTED IN A DAISY-CHAIN FASHION IN EACH CHIP BANK. ╙OLDER A WIRE TO
PIN 15 OF THE RIGHTMOST ╥┴═ CHIP IN THE BANK; THIS IS THE *├┴╙┬┴╬╦X SIGNAL.
╬OW USE AN OHMMETER OR CONTINUITY TESTER TO SEE THAT ALL THE CHIPS IN THE
NEWLY ADDED BANK SHARE THE SAME SIGNALS ON PINS 1, 3 TO 13, AND 15 AND 16.
┴LL THAT IS LEFT IS TO CONNECT THE WIRE *├┴╙┬┴╬╦X TO AN APPROPRIATE
NUMBERED SIGNAL ON ╔├1. ╧DD NUMBERED ├┴╙┬┴╬╦ SIGNALS ARE FOR ╥┴═ CHIPS
PIGGY-BACKED IN CHIP BANK ONE, EVEN NUMBERED ONES ARE FOR ╥┴═ CHIPS
PIGGY-BACKED IN CHIP BANK TWO. ├HOOSE THE NEXT AVAILABLE SIGNAL WHEN ADDING A
NEW BANK OF ╥┴═S. *├┴╙┬┴╬╦0 AND *├┴╙┬┴╬╦1 ARE RESERVED FOR THE TWO CHIP BANKS
ALREADY IN A 512 KB ╥┼╒. ├ONNECT THE *├┴╙┬┴╬╦X SIGNAL, AND YOU NOW HAVE
ANOTHER 256 KB OF MEMORY! ╥EPEAT FOR CHIP BANK TWO FOR 512 KB EXTRA ╥┴═. ┴DD
JUST AS MUCH ╥┴═ AS YOU NEED IN 256 KB INCREMENTS!
╨ROGRAMMING AN EXPANDED ╥┼╒
---------------------------
┘OU DON'T NEED TO DO ANYTHING DIFFERENT TO USE THE EXTRA MEMORY IN THE
╥┼╒. ╩UST REMEMBER THAT YOU NOW HAVE MORE 64 KB BANKS THAT YOU CAN ACCESS
THROUGH THE BANK REGISTER AT $─╞06 WHEN IN 2 ═B MODE (SWITCH IN POSITION 2).
╫HEN IN THE 1750 EMULATION (512 KB) MODE (SWITCH IN POSITION 1), REMEMBER YOU
ONLY HAVE ACCESS TO BANKS 0 TO 7 OF 64 KB. ╦EEP IN MIND THE PECULIARITIES OF
THE 2 ═B MODE AS WELL. ╘HAT'S ALL THERE IS TO IT! ╘HE NUMBER OF BANKS DEPENDS
ON HOW MUCH MEMORY YOU ADDED; 0 TO 15 WITH 1 ═B, AND 0 TO 31 WITH 2 ═B FOR
EXAMPLE.
╬OTE THAT ALL SOFTWARE THAT TESTS FOR A ╥┼╒ WILL ONLY FIND 512 KB
AVAILABLE, SO A SLIGHTLY DIFFERENT MEMORY TEST IS NECESSARY TO CHECK ON HOW
MUCH EXPANSION MEMORY WE HAVE. ╙INCE THE ╥┼╒ CAN BE EXPANDED UP TO 2 ═B IN
256 KB INCREMENTS AT THE USERS DISCRETION, A SLIGHTLY DIFFERENT TEST IS
MANDATORY TO FIGURE OUT JUST HOW BIG THE ╥┼╒ IS. ╙EE LISTING 1 FOR AN EXAMPLE.
╨ECULIARITIES
-------------
╘HERE ARE A FEW VERY MINOR INCONVENIENCES WITH THIS EXPANSION PROJECT
DETAILED AS FOLLOWS:
1) ╘HE ╥┼╒ WILL NOT WRAP INTERNALLY BETWEEN BANKS OF 512 KB,
INSTEAD THE ╥┼╒ WILL WRAP TO THE BEGINNING OF THE SAME 512K
BANK. ╞OR EXAMPLE, SAVING 2 BYTES TO $╞╞╞╞ IN BANK 7 WILL
PUT ONE BYTE AT $╞╞╞╞ IN BANK 7, AND THE OTHER AT $0000 IN
BANK 0 ╬╧╘ BANK 8 AS EXPECTED. ╘HIS IS BECAUSE THE ╥┼├ CHIP
DOES NOT RECOGNIZE MORE THAN 512 KB DIRECTLY; WE HAVE FOOLED
IT TO USE MORE ╥┴═.
2) ┬ANK REGISTER AT $─╞06 IS WRITE-ONLY WHERE BITS 3 AND 4
ARE CONCERNED. ╔F $─╞06 IS READ, BITS 3 AND 4 (AS WELL AS
BITS 5, 6, AND 7) WILL ALWAYS BE ONE NO MATTER WHAT BANK OF
512 KB THE ╥┼╒ IS IN.
3) ┬ITS 3 AND 4 OF THE BANK REGISTER AT $─╞06 ARE NOW
SIGNIFICANT, BUT IN AN UNEXPANDED ╥┼╒ THEY ARE IGNORED. ╘HIS
WHY WE HAVE A SWITCH TO DISABLE ALL BUT 512K OF MEMORY WHEN
WE RUN INTO NON-COMPATIBLE SOFTWARE. ╙EE THE NEXT SECTION
FOR DETAILS.
4) ╘HE 512 KB BANK SELECT BITS ARE MEMORY MAPPED BY ONLY THE
THREE LOWEST ADDRESS BITS. ╘HIS MEANS THERE ARE IMAGES OF
THESE BITS AT $─╞0┼, $─╞16, $─╞1┼, ETC. ╘HIS IS A TRIVIAL
MATTER SINCE NO SANE PERSON USES IMAGE ADDRESSES!
├OMPATIBILITY
-------------
╘HERE IS ONLY ONE SOURCE OF SOFTWARE INCOMPATIBILITY IN THIS MODIFICATION;
THE 2 BIT 512 KB BANK SELECT REGISTER WE HAD ADDED TO $─╞06. ╙INCE THESE TWO
BITS ARE NOW SIGNIFICANT AND DIDN'T USED TO BE, WE COULD HAVE A PROBLEM;
SOFTWARE THAT DOESN'T SET THESE BITS TO THE SAME VALUE AT ALL TIMES, OR SETS
THE BITS TO A BANK OF 512 KB THAT ISN'T INSTALLED YET, WON'T WORK. ┬UT THIS IS
WHAT THE SWITCH IS FOR!
╘HE 2 ═B MODIFICATION IS 100% COMPATIBLE WITH ANY SOFTWARE WRITTEN FOR A
1750 (512KB) ╥┼╒, WHEN IN THE SWITCH SELECTABLE 1750 EMULATION MODE (POSITION
1, SWITCH CLOSED). ╒NFORTUNATELY NONE OF THE EXTRA MEMORY BEYOND THIS CAN BE
ACCESSED WHEN IN THIS MODE. ╘HIS IS OF NO CONSEQUENCE, SINCE THE SOFTWARE
CAN'T MAKE USE OF ANY ADDITIONAL MEMORY ANYWAY.
╫HEN THE 2 ═B MODE IS SWITCH SELECTED (POSITION 2, SWITCH OPEN), WE HAVE
COMPLETE ACCESS TO HOW EVER MUCH MEMORY WE HAVE ADDED. ╘HE SWITCH SHOULD BE IN
POSITION 2 WHENEVER POSSIBLE! ═OST SOFTWARE CAN FUNCTION IN THIS MODE,
INCLUDING ╟┼╧╙!
╘HE TWO OPTIONAL ╠┼─S ARE VERY USEFUL TO DETERMINE IF THE SOFTWARE IS
COMPATIBLE IN THE 2 ═B MODE. ╔F YOU ARE USING SOFTWARE MEANT TO BE USED WITH A
1750 ╥┼╒, YOU CAN USE THE SOFTWARE IN THE 2 ═B MODE IF: DURING A ╥┼╒ TRANSFER
THE ╠┼─S ARE ALWAYS SHOWING THE SAME BANK OF 512 KB IS BEING ACCESSED (╠┼─S
NOT FLICKERING), AND THEY INDICATE A BANK THAT IS INSTALLED (BANK 0 OF 512 KB
IS ALWAYS PRESENT). ╫ITHOUT THE ╠┼─S, IT IS SIMPLY A MATTER OF SAYING "╔T
WORKS", OR "╔T DOESN'T WORK" WHEN YOU USE SOFTWARE FOR A 1750 ╥┼╒.
╞INAL WORDS
-----------
─ON'T LET THE LENGTH OF THIS ARTICLE DISCOURAGE YOU; IT ONLY SEEMS
DIFFICULT IN PRINT! ┘OUR ╥┼╒ CAN NOW CONTAIN MORE MEMORY THAN AN AVERAGE ╔┬═
╨├. ╙O BE NICE TO YOUR ╔┬═ BUDDIES, AND DON'T BRAG TOO MUCH! ╔ CAN BE REACHED
ON ╤-LINK (SCREEN NAME ╥ECURSION), OR YOU CAN WRITE ME DIRECTLY IF YOU HAVE
ANY QUESTIONS, COMMENTS, OR CONSTRUCTION IDEAS.
┴NDREW ┼. ═ILESKI
210-180 ╠EES ┴VENUE
╧TTAWA, ╧NTARIO
├ANADA, ╦1╙ 5╩6
╠ISTING 1: ╥ECOMMENDED TYPE OF ╥┼╒ MEMORY CHECK
-----------------------------------------------
╔T IS IMPLIMENTED HERE IN ┬┴╙╔├ WITH A ╥┼╒ WEDGE FOR THE ├64, BUT CAN
EASILY BE TRANSLATED INTO ASSEMBLY. ╘HIS CHECK WILL ALWAYS RETURN THE NUMBER
OF 64 K BYTE BANKS THAT ARE USEABLE IN THE ╥┼╒. ╞┼╘├╚ AND ╙╘┴╙╚ DO EXACTLY
WHAT YOU MIGHT THINK. ╘HE OPERANDS ARE BYTES TO TRANSFER, COMPUTER BASE
ADDRESS, ╥┼╒ BASE ADDRESS, AND ╥┼╒ BANK (OF 64 KB) NUMBER.
2000 ╥┼═ ****╔╬╔╘╔┴╠╔┌┼ ****
2010 ╥┼═ ╨UT A SINGLE STATUS BYTE, THAT SHOWS AN UNCHECKED BANK, IN EACH BANK
OF 64KB.
2020 ╨╧╦┼ 49152,136
2030 ╞╧╥ ╔=0 ╘╧ 255
2040 !╙╘┴╙╚ 1,49152,0,╔
2050 ╬┼╪╘
2060 ╥┼═ **** ╘┼╙╘ ****
2070 ╥┼═ ╘EST FOR # BANKS PRESENT BY SEEING IF BANK CHECKED YET. ╔F NOT,
CHANGE STATUS OF
2080 ╥┼═ BANK TO CHECKED, AND ADD 1 TO THE # OF BANKS. ┼LSE, BANK IS CHECKED
ALREADY AND
2090 ╥┼═ WE'RE DONE! ╬OTE THAT WE ONLY TEST ONE BYTE PER BANK TO SPEED THINGS
UP.
2100 ╨╧╦┼ 49152,27
2110 ╔=0
2120 !╞┼╘├╚ 1,49152,0,╔
2130 ╔╞ ╨┼┼╦(49152)<>136 ╘╚┼╬ 2190
2140 ╨╧╦┼ 49152,27
2150 !╙╘┴╙╚ 1,49152,0,╔
2160 ╔=╔+1:╔╞ ╔<256 ╘╚┼╬ 2120
2170 ╥┼═ **** ─╧╬┼ ****
2180 ╥┼═ ╬UMBER OF BANKS OF 64KB IS NOW IN ╔.
2190 ╔╞ ╔=0 ╘╚┼╬ ╨╥╔╬╘ "╥┼╒ ╬╧╘ ╨╥┼╙┼╬╘, ╧╥ ╬╧╘ ╙┼┴╘┼─ ╨╥╧╨┼╥╠┘"
2200 ╔╞ ╔=2 ╘╚┼╬ ╨╥╔╬╘ "╘╚╔╙ ╔╙ ┴ 1700 (128 ╦) ╥┼╒"
2210 ╔╞ ╔=4 ╘╚┼╬ ╨╥╔╬╘ "╘╚╔╙ ╔╙ ┴ 1764 (256 ╦) ╥┼╒"
2220 ╔╞ ╔=8 ╘╚┼╬ ╨╥╔╬╘ "╘╚╔╙ ╔╙ ┴ 1750 (512 ╦) ╥┼╒"
2230 ╔╞ ╔>8 ╘╚┼╬ ╨╥╔╬╘ "╘╚╔╙ ╔╙ ┴╬ ┼╪╨┴╬─┼─"; 64*╔ ;"╦ ╥┼╒"
╨ARTS ╠IST AND ═ISCELLANEOUS ─ATA
---------------------------------
╥EQUIRED PARTS
╔├1: 74╞139 ─UAL 2 TO 4 LINE DECODER/DEMULTIPLEXOR.
╔├2: 74╞74 ─UAL ─-TYPE FLIP-FLOPS.
╔├3: 74╞138 3 TO 8 LINE DECODER/DEMULTIPLEXOR.
╞┴╙╘ SERIES COMPONENTS RECOMMENDED!
3.3K ╧HM ╥ESISTOR, 1/4 WATT AND 5% TOLERANCE.
╙╨╙╘ MICRO-MINI TOGGLE, OR SLIDE SWITCH.
╘WO INCH STRIP OF DOUBLE-SIDED FOAM TAPE.
╙UPPLY OF 30 GAUGE WIRE.
┴ND OTHER STANDARD TOOLS AND EQUIPMENT.
╧PTIONAL
╘WO ╠┼─S ╘-1 SIZE.
╘WO 390 ╧HM RESISTORS, 1/4 WATT AND 5% TOLERANCE.
╨IN CONNECTIONS
---------------
╔├1
╨IN 16: +5 ╓OLTS 1: *├┴╙0
15: *├┴╙1 2: ╔├2 PIN 5
14: ╔├1 PIN 2 3: ╔├2 PIN 9
13: ╔├1 PIN 3 4: *├┴╙┬┴╬╦0
12: *├┴╙┬┴╬╦1 5: *├┴╙┬┴╬╦2
11: *├┴╙┬┴╬╦3 6: *├┴╙┬┴╬╦4
10: *├┴╙┬┴╬╦5 7: *├┴╙┬┴╬╦6
9: *├┴╙┬┴╬╦7 8: ╟ROUND
╔├2
╨IN 14: +5 ╓OLTS 1: **1**
13: **1** 2: ─3
12: ─4 3: ╔├3 PIN 9
11: ╔├2 PIN 3 4: +5 ╓OLTS
10: +5 ╓OLTS 5: ╔├1 PINS 2,14
9: ╔├1 PINS 3,13 6: ╠┼─0 **2**
8: ╠┼─1 **2** 7: ╟ROUND
╔├3
╨IN 16: +5 ╓OLTS 1: ┴0
15: ╬O CONNECTION 2: ┴1
14: ╬O CONNECTION 3: ┴2
13: ╬O CONNECTION 4: *╔/╧
12: ╬O CONNECTION 5: ╥/*╫
11: ╬O CONNECTION 6: ╘HETA2
10: ╬O CONNECTION 7: ╬O CONNECTION
9: ╔├2 PINS 3,11 8: ╟ROUND
**1** ├ONNECT THIS PIN TO ONE SIDE OF THE SWITCH. ╘HERE SHOULD BE TWO PINS
CONNECTED TO THE SAME SIDE OF THE SWITCH. ╘O THE SAME SIDE OF THE SWITCH
CONNECT A SINGLE 3.3K ╧HM RESISTOR. ├ONNECT THE FREE END OF THE RESITOR TO +5
╓OLTS. ├ONNECT THE OTHER SIDE OF THE SWITCH TO GROUND.
**2** ├ONNECT THIS PIN TO THE CATHODE OF THE ╠┼─ SHOWN. ├ONNECT THE ANODE OF
EACH ╠┼─ TO ITS OWN 390 ╧HM RESISTOR. ├ONNECT THE FREE END OF EACH RESISTOR TO
+5 ╓OLTS.
╘OP OF ╔├S ARE INDICATED BY A DOT OR NOTCH. ╫HEN THE CHIPS ARE INSTALLED
UP-SIDE-DOWN, THE PIN NUMBERING IS CLOCKWISE FROM THE TOP RIGHT PIN! ╙INCE THE
╥┴═ CHIPS ARE INSTALLED RIGHT-SIDE UP, THEIR PIN NUMBERING IS COUNTER
CLOCKWISE FROM THE TOP LEFT PIN. ─ON'T MIX UP THE NUMBERING!!!
***╬OTE***
╘HIS FILE WAS CONVERTED FROM THE ORIGINAL GEO╫RITE 2.1 FILE BY THE AUTHOR. ╘HE
SCHEMATIC IN GEO╨AINT FORMAT HAS BEEN REDUCED INTO THE PIN CONNECTION TABLE
SHOWN ABOVE. ╔F YOU HAVE ╟┼╧╙ 2.0 ╔ RECOMMEND YOU OBTAIN THE ORIGINAL ┴╥├ED
FILES FROM ╤-╠INK ("┬┼┘╧╬─512╦┬.╙─┴" BY ╥ECURSION)